<script>
	import initApp from '@/common/appInit.js';
	import openApp from '@/common/openApp.js';
	// #ifdef H5
	openApp() //创建在h5端全局悬浮引导用户下载app的功能
	// #endif
	import checkIsAgree from '@/pages/uni-agree/utils/uni-agree.js';
	import uniIdPagesInit from '@/uni_modules/uni-id-pages/init.js';



	

	// #ifdef VUE3
	import {
		getCurrentInstance
	} from 'vue'
	// #endif
	export default {
		globalData: {
			searchText: '',
			appVersion: {},
			config: {},
			$i18n: {},
			$t: {}
		},
		onLaunch: function() {
			
			uni.getPushClientId({
				success: (res) => {
					let push_clientid = res.cid
					uni.setStorageSync('push_clientid', push_clientid)
					console.log('客户端推送标识:', push_clientid)
				},
				fail(err) {
					console.log(err)
				}
			})
			
			//5. 初始化uni身份信息管理模块
			uniIdPagesInit();
			
			// #ifdef VUE3
			console.log('vue3');
			// #endif
			console.log('App Launch')
			this.globalData.$i18n = this.$i18n
			this.globalData.$t = str => this.$t(str)
			initApp();

		

			// #ifdef APP-PLUS
			//idfa有需要的用户在应用首次启动时自己获取存储到storage中
			/*var idfa = '';
			var manager = plus.ios.invoke('ASIdentifierManager', 'sharedManager');
			if(plus.ios.invoke(manager, 'isAdvertisingTrackingEnabled')){
				var identifier = plus.ios.invoke(manager, 'advertisingIdentifier');
				idfa = plus.ios.invoke(identifier, 'UUIDString');
				plus.ios.deleteObject(identifier);
			}
			plus.ios.deleteObject(manager);
			console.log('idfa = '+idfa);*/
			// #endif
			const {
				appContext: {
					config: {
						globalProperties: global
					}
				}
			} = getCurrentInstance(); //3.0.11
			uni.getSystemInfo({
				success: e => {
					console.log('系统信息', e);
					// #ifdef VUE3
					global.statusBarHeight = e.statusBarHeight;
					global.screenHeight = e.screenHeight;
					global.screenWidth = e.screenWidth;
					global.platform = e.platform;
					global.widthRatio = e.screenWidth / 750;

					global.windowWidth = e.windowWidth;
					global.windowHeight = e.windowHeight;
					// #endif
					// #ifndef VUE3
					// 状态栏高度px
					Vue.prototype.statusHeight = e.statusBarHeight;
					Vue.prototype.screenHeight = e.screenHeight;
					Vue.prototype.screenWidth = e.screenWidth;
					Vue.prototype.platform = e.platform;
					Vue.prototype.widthRatio = e.screenWidth / 750;

					Vue.prototype.windowWidth = e.windowWidth;
					Vue.prototype.windowHeight = e.windowHeight;
					// #endif
				},
				fail(e) {
					console.log('呃呃呃呃呃呃呃', e);
				}
			});

			console.log('App Launch')
			if (typeof(uniCloud.SSEChannel) == 'undefined') {
				uni.showModal({
					content: '本项目，仅支持HBuilderX 正式版 v3.7.10 或 alpha v3.8.0及以上版本请升级',
					showCancel: false
				});
			}
			// #ifdef MP-WEIXIN

			let autoUpdate = function() {
				var self = this // 获取小程序更新机制兼容 
				// console.log('进入更新');
				if (wx.canIUse('getUpdateManager')) {
					// console.log('支持更新');
					const updateManager = wx.getUpdateManager() //1. 检查小程序是否有新版本发布                     
					// console.log('更新对象', updateManager);
					updateManager.onCheckForUpdate(function(res) { // 请求完新版本信息的回调 
						// console.log('请求完新版本信息的回调 ', res);
						if (res
							.hasUpdate
						) { //2. 小程序有新版本，则静默下载新版本，做好更新准备                                                 
							updateManager.onUpdateReady(function() {
								wx.showModal({
									title: '更新提示',
									content: '新版本已经准备好，是否重启应用？',
									success: function(res) {
										if (res.confirm) {
											//3. 新的版本已经下载好，调用applyUpdate应用新版本并重启  
											updateManager.applyUpdate()
										} else if (res.cancel) {
											//不应用 
										}
									}
								})
							})
							updateManager.onUpdateFailed(function() {
								// 新的版本下载失败
								wx.showModal({
									title: '已经有新版本了哟~',
									content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~',
								})
							})
						}
					})
				} else { // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示     
					wx.showModal({
						title: '提示',
						content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
					})
				}
			}
			autoUpdate()
			// #endif
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style>
	@import '/common/common.css';
	/*每个页面公共css */
</style>